
package com.xinan.dmgl.cggl;

import com.jfinal.aop.Before;
import com.jfinal.core.BaseController;
import com.jfinal.core.Const;
import com.jfinal.core.Controller;
import com.jfinal.ext.interceptor.SearchSql;
import com.jfinal.kit.JsonKit;
import com.jfinal.plugin.activerecord.Page;
import com.xinan.utils.Constants;
import com.xinan.utils.Pinyin;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.render.JsonRender;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class DmCjglController extends BaseController {

    public void index() {
        render("/WEB-INF/views/dmgl/cjgl/dmCjgl.html");
    }
/**
 * add
 */
    public void  newModes() {
            String   id=getPara("id");
//    List<Record> newlist = Db.find("select  * from     where    id=  '" + id + "'");
    List<Record> newlist =  DmCjgl.dao.findAlls(  "       id=  '" + id + "'") ;

    setAttr("newlist",newlist);
    render("/WEB-INF/views/dmgl/cjgl/dmCjgl_form.html");
    }

   /**
     * 在增加了SearchSql拦截之后就可以根据页面配置信息
     * 自动装配查询语句放入request中,通过getAttr(Const.SEARCH_SQL)函数获得
     * 根据实际需要自动组装到Sql语句里面
     */
    @Before(SearchSql.class)
	public void query() {
//        int pageNumber = getParaToInt("iDisplayStart")/getParaToInt("iDisplayLength");
//        if(pageNumber==0){
//        	pageNumber=1;
//        } else {
//        	pageNumber=pageNumber+1;
//        }
//        int pageSize = getParaToInt("iDisplayLength");
//        Map root = new HashMap();
//        /// datatables用 分页显示
//        root.put("iTotalRecords", page.getTotal());
//        root.put("iTotalDisplayRecords", page.getTotal());
//        root.put("records", page.getTotal());
//        root.put("aaData", page.getRows());
//        root.put("sEcho", getPara("sEcho"));
//        renderJson(root);
    	 int pageNumber = getParaToInt("page");
         int pageSize = getParaToInt("rows");
        String where = getAttr(Const.SEARCH_SQL);
        Page<DmCjgl> page = DmCjgl.dao.page(pageNumber, pageSize, where);
        Map root = new HashMap();
        /// jqgrid用 分页显示
        root.put("total", page.getTotalPage());
		root.put("page", page.getPageNumber());
		root.put("records", page.getTotalRow());
		root.put("rows", page.getList());
        renderJson(JsonKit.toJson(root));
	}
	/**
     * save
     * @param
     * @return
     */
	public void save() {
		String cjmc=getPara("cjmc");
		 String cjdm=Pinyin.converterToFirstPinyin(cjmc);
        if(getModel(DmCjgl.class).set("cjdm",cjdm).save()){
           // renderJson(Constants.SAVESUCCESS);
			render(new JsonRender(Constants.SAVESUCCESS).forIE());

        }else{
          //  renderJson(Constants.SAVEFAILED);
			render(new JsonRender(Constants.SAVEFAILED).forIE());

        }
	}
	
/**
     * Post请求的菜单更新函数,可以接受菜单的id和菜单对象,并且根据菜单id进行更新,返回影响行数根据此判断是否操作成功
     * 本例子使用rose框架的est风格url可以吧参数作为路径一部分进行传递
     * @param
     * @return
     */
	public void update() {
        if(getModel(DmCjgl.class).update()){
         //   renderJson(Constants.EDITSUCCESS);
			render(new JsonRender(Constants.EDITSUCCESS).forIE());

        }else{
          //  renderJson(Constants.EDITFAILED);
			render(new JsonRender(Constants.EDITFAILED).forIE());

        }
	}
	
		/**
     * Post请求的菜单删除函数,可以接受菜单ID 并且根据ID进行物理删除,并且返回影响行数,据此判断是否操作成功
     * @param
     * @return
     */
	public void delete() {
        if(DmCjgl.dao.deleteById(getPara("id"))){
        //    renderJson(Constants.DELETESUCCESS);
			render(new JsonRender(Constants.DELETESUCCESS).forIE());

        }else{
          //  renderJson(Constants.DELETEFAILED);
			render(new JsonRender(Constants.DELETEFAILED).forIE());

        }
	}	
}

